package week12;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JComboBox;
import javax.swing.JOptionPane;

public class ButtonListener implements WzqCfg,ActionListener {
	public WZQFrame gf;
	public JComboBox box;
	//监听按钮的按下操作
	public ButtonListener(WZQFrame gf,JComboBox box) {
		this.gf = gf;
		this.box = box;
	}
	//实现响应按钮的操作
	@Override
	public void actionPerformed(ActionEvent e) {
		//响应新游戏按钮
		if(e.getActionCommand().equals("新游戏")){
			/*重新绘制新棋盘 */
			for(int i=0;i<gf.isAvail.length;i++)
				for(int j=0;j<gf.isAvail[i].length;j++)
					gf.isAvail[i][j]=0;
			gf.repaint();						
			//如果是开始新游戏，为左半部分设置监听方法
			gf.turn = 1;
		}
		//响应作者按钮
		else if(e.getActionCommand().equals("作者")) {
			String author ="作者:liu6tot"+"\n"+"https://gitee.com/liu6tot"+"\n";
			JOptionPane.showMessageDialog(null, author);
		}
		//相应作者主页按钮
		else if(e.getActionCommand().equals("我的主页")){
			if(java.awt.Desktop.isDesktopSupported()){
				//创建浏览器对象的实例
				try{
					//创建一个java浏览器的实例
					java.net.URI uri = java.net.URI.create("https://gitee.com/liu6tot/gobang");
					//获取当前的浏览器系统桌面扩展
					java.awt.Desktop dp = java.awt.Desktop.getDesktop();
					//判断桌面是否支持要执行的操作
					if(dp.isSupported(java.awt.Desktop.Action.BROWSE)){
						//获取当前的默认浏览器
						dp.browse(uri);
					}
				}catch (java.io.IOException err){
					//无法获取默认浏览器的异常处理，打印错误信息
					err.printStackTrace();
				}
			}
		}
		//响应游戏说明
		else if(e.getActionCommand().equals("说明"))
		{
			String readme = "1.选择一个游戏模式:双人或人机"+"\n"+
			"2.开始新游戏"+"\n"+
			"3.Enjoy!";
			JOptionPane.showMessageDialog(null, readme);
		}
		//响应放弃按钮
		else if(e.getActionCommand().equals("放弃"))
		{
			if(gf.turn == 1){
				JOptionPane.showMessageDialog(null, "白方胜!");
				System.out.println("白方胜!");
			}else
			{
				JOptionPane.showMessageDialog(null, "黑方胜!");
			}
			gf.turn = 0;
		}
		//响应下拉框
		else if(box.getSelectedItem().equals("人机"))
		{
			gf.chooseType = 1;
			gf.turn = 0;
		}
		else if(box.getSelectedItem().equals("人人"))
		{
			gf.chooseType = 0;
			gf.turn = 0;
		}
	}
	
}
